.\"   $Id: ARRAY.3,v 1.1 2002/05/31 08:27:45 xtof Exp $
.\" @(#)ARRAY.3 2.30  UPMC ; VUONG H.N. & PITON D.
.TH ARRAY 3 "October 1, 1997" "ASIM/LIP6" "GENPAT functions"

.SH NAME
.PP
\fBARRAY\fP, GENPAT Package

.so man1/alc_origin.1
.SH SYNOPSIS
.PP
.nf
ARRAY ("ident", "ident", ..., ":nb_space", "format", type, option, "ident_group", 0);
.fi

.SH PARAMETERS
.PP
.TP 10
\fIident\fP
Name, followed with a number if part of a bused signal, of a connector, a
signal or a register. All idents must be of the same type. The name and the
number must be separated by a blank or the number must be parenthesized.
.TP 10
\fInb_space\fP
Specify the number of blank space between each group of value. 0,1,2,3,4,5,6,
7,8,9 or nothing.
.TP 10
\fIformat\fP
Specify the format that will be used to represent the value associated to
the connectors. X for Hexadecimal, O for Octal and B for Binary.
.TP 10
\fItype\fP
Specify the type of the aggregate. REGISTER for Register, SIGNAL for Signal,
OUT for Output, IN for Input, INOUT for Input/Output. REGISTER, SIGNAL, OUT,
IN, INOUT are constants (defines) provided by genpat.
.TP 10
\fIoption\fP
Specify options of the connectors. "S" for a spied connector, empty ("")
for a normal connector.
.TP 10
\fIident_group\fP
Specify the array's name, the first ident is associated with the MSB of the
array.

.SH DESCRIPTION
.PP
Create a virtual vector with signals of the same type and format. The signals
may be either Inputs, Outputs, Inputs/Outputs, Registers or Internal Signals.
A vector to be aggregate is to be declared bit per bit (it will appear as a
vector in the output file). Outputs, Signals and Registers can be redeclared
in a virtual vector. Inputs and Inputs/Outputs CANNOT be redeclared.

.SH EXAMPLES
.PP
.nf
ARRAY ("cout", "s 9", "s 8", "s 7", ":2", "B", OUT, "S", "Y", 0);

format : Binary.
type   : Output connector.
option : spied connector.

each group is separated of the others with 2 blank spaces.
result :   out Y ( cout, s (9 downto 7) ) B spy ;;;

ARRAY ("regt", "reg 9", ":2", "B", REGISTER, "", "Y", 0);

format : Binary.
type   : Register.
option : none.

each group is separated of the others with 2 blank spaces.
result :   register   Y ( regt, reg (9 downto 9) ) B;;;
.fi

.SH WARNING
.PP
The ARRAY function from the 4.0 release have a new parameter (option).

.SH SEE ALSO
.PP
DECLAR(3), genpat(1), pat(5)

.SH DIAGNOSTICS
.PP
You are dealing with a variable number of parameters fonction. If you forget
one or more parameter, you will have one of the following results :

.RS
Nothing bad happen, but your result file is erroneous.
.br
You are asked for more parameter.
.br
You crash the program and produce a Segmentation Fault.
.RE

.PP
In all cases, check your C file for missing parameter.


.so man1/alc_bug_report.1

